Dynomotion

Group: DynoMotion Message: 10389 From: Moray Cuthill Date: 10/26/2014
Subject: Re: Understanding how to properly tune a stepper motor using KMotion
Hi Cyprian,
 
This line pretty much sums up how to tune stepper motors -
 
Do I just increase the value until the motor fails?
 
Yes, is the answer.
 
Step Response is mostly for servos running closed loop, as it shows how the closed loop responds to commanded changes. This doesn't apply to steppers, as they usually run open loop, and I think even in closed loop, it's of limited use.
Tuning steppers is simply a case of keep increasing acceleration, jerk and max speed until they start stalling, then reduce it to provide a reasonable safety margin.
 
It's worth mentioning, that it can be worthwhile having two seperate profiles depending on what you're doing.
If you're doing a lot of short moves i.e. routing out an intricate 2.5D shape, where maximum speed makes little difference, then you should be able to tune for higher acceleration with a lower max speed.
Whereas if you're doing lots of long moves i.e. a big router where you're cutting long continual features with lots of G0/rapid moves, where maximum speed is more important, then you can tune for less acceleration with a higher max speed.
The reasoning for this is torque from stepper motors drops quickly as speed increases, so if you accelerate at a continual rate, you'll eventually run out of torque to accelerate with, at which point the stepper stalls. By reducing maximum speed, you stay in the higher torque speed range, so you can accelerate faster upto to that lower speed.
 
It's all very well pushing for every last bit of speed, but if you're never using that speed, it'll be costing you far more time due to slower acceleration.
 
Moray
 

On Sun, Oct 26, 2014 at 9:04 PM, cyprian.szalankiewicz@... [DynoMotion] <DynoMotion@yahoogroups.com> wrote:
 

Hello,

I am interested in learning the steps in properly tuning a stepper motor using KMotion's step response screen.

Hardware is as follows:

PC running KMotion.exe
KFLOP using USB
Gecko 203V Stepper Motor Driver
Stepper Motor http://www.kelinginc.net/KL34H2120-60-4A.pdf


As far as I know I have successfully configured my first axis (Channel 0) in the 'Configuration' screen in KMotion.exe

But then when it comes to the 'Step Response' screen how do I know what the correct values should be entered in for my stepper motor?

I entered in some values and successfully got the motor to spin but how do I know that these values are ideal? I.e. maximum performance.

Here is what I entered for the motion profile parameters:

V:125000
A:200000
J:200000000

Motor spins, fantastic, but do these values resemble the capability of my stepper motor?

For example how do I know that the acceleration value I entered in is correct?  Do I just increase the value until the motor fails?

The associated help for the step response screen is all about servos and does not mention anything about steppers.

The Motion Profile Parameters in the help describe what the fields mean but there is no application example of how you would actually know what the enter in the fields.

I have a good understanding of electronics but when it comes to motor tuning an understanding of how to properly obtain the values I would enter in the Motion Profile Parameters fields would be great.

Any pointers are greatly appreciated in advance,
Thank you,
Cyprian


Group: DynoMotion Message: 10391 From: Tom Kerekes Date: 10/26/2014
Subject: Re: Understanding how to properly tune a stepper motor using KMotion
Hi Cyprian,

I agree with Moray, unfortunately it is usually a matter of trial and error.  Theoretically if you knew all your system's parameters like motor torque vs speed, system masses, gearing, friction, binding, resonances you could calculate things but that usually isn't practical because there is so much uncertainty in many of those parameters.

I usually start with very low Acceleration (and high Jerk) to gradually ramp up the speed to see what top speed is achievable.   Then try increasing acceleration to see what acceleration is achievable.  Then try reducing Jerk to smooth out disturbances and possibly allow slightly higher Acceleration and Velocity.

If you have encoders on your system the plots can be used to see if or how close to stalling you are and if there are resonance problems.  But if you don't have encoders all you can really do is look/listen for stalls or miss steps and see if when moving back the the same coordinate the physical position repeats.

Besides just avoiding stalls and miss-steps another consideration is smoothness (disturbance and shock vs speed).  So there is no simple answer without knowing your application and requirements.    

You might also read this post regarding 2nd order and 3rd order motion types. You should test your system for both types and use the Trajectory Planner Settings for the 2nd order parameters and set KFLOP/KMotion for the 3rd order type.


HTH
Regards
TK 



From: "Moray Cuthill moray.cuthill@... [DynoMotion]" <DynoMotion@yahoogroups.com>
To: DynoMotion@yahoogroups.com
Sent: Sunday, October 26, 2014 2:21 PM
Subject: Re: [DynoMotion] Understanding how to properly tune a stepper motor using KMotion.exe

 
Hi Cyprian,
 
This line pretty much sums up how to tune stepper motors -
 
Do I just increase the value until the motor fails?
 
Yes, is the answer.
 
Step Response is mostly for servos running closed loop, as it shows how the closed loop responds to commanded changes. This doesn't apply to steppers, as they usually run open loop, and I think even in closed loop, it's of limited use.
Tuning steppers is simply a case of keep increasing acceleration, jerk and max speed until they start stalling, then reduce it to provide a reasonable safety margin.
 
It's worth mentioning, that it can be worthwhile having two seperate profiles depending on what you're doing.
If you're doing a lot of short moves i.e. routing out an intricate 2.5D shape, where maximum speed makes little difference, then you should be able to tune for higher acceleration with a lower max speed.
Whereas if you're doing lots of long moves i.e. a big router where you're cutting long continual features with lots of G0/rapid moves, where maximum speed is more important, then you can tune for less acceleration with a higher max speed.
The reasoning for this is torque from stepper motors drops quickly as speed increases, so if you accelerate at a continual rate, you'll eventually run out of torque to accelerate with, at which point the stepper stalls. By reducing maximum speed, you stay in the higher torque speed range, so you can accelerate faster upto to that lower speed.
 
It's all very well pushing for every last bit of speed, but if you're never using that speed, it'll be costing you far more time due to slower acceleration.
 
Moray
 

On Sun, Oct 26, 2014 at 9:04 PM, cyprian.szalankiewicz@... [DynoMotion] <DynoMotion@yahoogroups.com> wrote:
 
Hello,

I am interested in learning the steps in properly tuning a stepper motor using KMotion's step response screen.

Hardware is as follows:

PC running KMotion.exe
KFLOP using USB
Gecko 203V Stepper Motor Driver
Stepper Motor http://www.kelinginc.net/KL34H2120-60-4A.pdf


As far as I know I have successfully configured my first axis (Channel 0) in the 'Configuration' screen in KMotion.exe

But then when it comes to the 'Step Response' screen how do I know what the correct values should be entered in for my stepper motor?

I entered in some values and successfully got the motor to spin but how do I know that these values are ideal? I.e. maximum performance.

Here is what I entered for the motion profile parameters:

V:125000
A:200000
J:200000000

Motor spins, fantastic, but do these values resemble the capability of my stepper motor?

For example how do I know that the acceleration value I entered in is correct?  Do I just increase the value until the motor fails?

The associated help for the step response screen is all about servos and does not mention anything about steppers.

The Motion Profile Parameters in the help describe what the fields mean but there is no application example of how you would actually know what the enter in the fields.

I have a good understanding of electronics but when it comes to motor tuning an understanding of how to properly obtain the values I would enter in the Motion Profile Parameters fields would be great.

Any pointers are greatly appreciated in advance,
Thank you,
Cyprian



Group: DynoMotion Message: 10439 From: cyprian.szalankiewicz Date: 10/30/2014
Subject: Re: Understanding how to properly tune a stepper motor using KMotion
Hi Moray and Tom,

Thank you kindly for the explanation and tips. Very useful.  I appreciate the idea of having two motion profiles depending on the actions that the machine will execute most often.

Thanks again, great feedback!

Cyprian